package com.yunchang.springboot.mapper.mwsreport;

import com.yunchang.springboot.models.mwsreportbean.MwsDataGetErrorRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface MwsDataGetErrorRecordMapper {
    int deleteByPrimaryKey(Long id);

    int insert(MwsDataGetErrorRecord record);

    int insertSelective(MwsDataGetErrorRecord record);

    MwsDataGetErrorRecord selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(MwsDataGetErrorRecord record);

    int updateByPrimaryKeyWithBLOBs(MwsDataGetErrorRecord record);

    int updateByPrimaryKey(MwsDataGetErrorRecord record);

//    /**
//     * 获取数据
//     *
//     * @param shop
//     * @param area
//     * @param date
//     * @param type
//     * @param isHandle
//     * @param createTime
//     * @return
//     */
//    List<MwsDataGetErrorRecord> getList(@Param("shop") String shop, @Param("area") String area, @Param("date") String date
//            , @Param("type") Integer type, @Param("isHandle") Integer isHandle, @Param("createTime") String createTime);


//    /**
//     * 根据任务名称获取 错误任务的信息列表
//     * @param taskName 任务名
//     * @param taskTime 任务的结束时间，精确到天
//     * @return
//     */
//    List<MwsDataGetErrorRecord> getListByTaskName(@Param("taskName") String taskName, @Param("taskTime") String taskTime);

    /**
     * 根据任务时间获取错误任务的信息列表
     * @param taskTime 任务的结束时间，精确到天
     * @return
     */
    List<MwsDataGetErrorRecord> getListByTaskTime(@Param("taskTime") String taskTime);



    /**
     * 根据type获取未处理的错误报告信息
     * @param type type = 1 是本次发送报告产生的错误
     * @return
     */
    List<MwsDataGetErrorRecord> selectByType(Integer type);


    /**
     * 根据id修改处理状态并将type修改为0
     * @param id
     * @return
     */
    Integer updateIsHandle(@Param("id") Long id);

    /**
     * 根据id列表 修改 type的值为 0
     * @param idList
     * @return
     */
    Integer updateTypeById(@Param("idList") List<Long> idList);

    /**
     * 获取type为1的id集合
     * @param type
     * @return
     */
    List<Long> selectIdListByType(Integer type);
}